const fs = require('fs')
// 读取ts文件
fs.readFile('../interfaces/gisToolBarCfg.ts', (err, data) => {
  if (err) {
    console.error(err);
  } else {
    // 使用正则表达式解析interface
    const regex = /interface\s+(\w+)\s*\{([\s\S]*?)\}/g;
    const matches = data.toString().match(regex);
    if (matches.length > 0) {
      let markdown = '';
      matches.forEach(match => {
        // 接口名
        const interfaceName = match.match(/interface\s+(\w+)/)[1];
        markdown += `## ${interfaceName}\n`;
        // 属性
        const properties = match.match(/\{([\s\S]*?)\}/)[1].split(';');
        properties.pop()
        // 遍历属性
        properties.forEach(property => {
          // const propertyNameArr = property.match(/^\s*(\w+)/);
          // const propertyTypeArr = property.match(/:\s*(\w+)/);
          const remark = property.match(/\/\*[^]*?\*\//g);
          if(remark){
            const propertyName = property.split(':')[0];
            const propertyType = property.split(':')[1];
            markdown += `- ${propertyName}: ${propertyType}`;
            markdown += ` ${remark}\n`
          }else{
            const propertyName = property.split(':')[0];
            const propertyType = property.split(':')[1];
            markdown += `- ${propertyName}: ${propertyType}\n`;
          }
        });
        markdown += `***\n`
      });
      // 写入Markdown文件
      fs.writeFile('../MarkDown/interface.md', markdown, err => {
        if (err) {
          console.error(err);
        } else {
          console.log('Markdown文件生成成功！');
        }
      });
    }
  }
});